package fitnesshub.service.impl;

import fitnesshub.mapper.StatisticsMapper;
import fitnesshub.pojo.vo.statistics.*;
import fitnesshub.service.StatisticsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class StatisticsServiceImpl implements StatisticsService {

    @Autowired
    private StatisticsMapper statisticsMapper;

    /**
     * 获取仪表盘数据
     * 返回值类型：DashboardVO
     */
    @Override
    public DashboardVO getDashboardData() {
        return statisticsMapper.getDashboardData();
    }

    /**
     * 获取会员类型分布数据
     * 返回值类型：List<MemberTypeDistributionVO>
     */
    @Override
    public List<MemberTypeDistributionVO> getMemberTypeDistribution() {
        return statisticsMapper.getMemberTypeDistribution();
    }

    /**
     * 获取课程销量数据
     * 返回值类型：List<CourseSalesVO>
     */
    @Override
    public List<CourseSalesVO> getCourseSales() {
        return statisticsMapper.getCourseSales();
    }

    /**
     * 获取课程收入数据
     * 返回值类型：List<CourseRevenueVO>
     */
    @Override
    public List<CourseRevenueVO> getCourseRevenue() {
        return statisticsMapper.getCourseRevenue();
    }

    /**
     * 获取消费类型分布数据
     * 返回值类型：List<ConsumptionTypeDistributionVO>
     */
    @Override
    public List<ConsumptionTypeDistributionVO> getConsumptionTypeDistribution() {
        return statisticsMapper.getConsumptionTypeDistribution();
    }

    /**
     * 获取会员消费排行榜数据
     * 返回值类型：List<ConsumptionRankingVO>
     */
    @Override
    public List<ConsumptionRankingVO> getConsumptionRanking() {
        return statisticsMapper.getConsumptionRanking();
    }

    /**
     * 获取设备状态分布数据
     * 返回值类型：List<EquipmentStatusDistributionVO>
     */
    @Override
    public List<EquipmentStatusDistributionVO> getEquipmentStatusDistribution() {
        return statisticsMapper.getEquipmentStatusDistribution();
    }

    /**
     * 获取设备类型分布数据
     * 返回值类型：List<EquipmentTypeDistributionVO>
     */
    @Override
    public List<EquipmentTypeDistributionVO> getEquipmentTypeDistribution() {
        return statisticsMapper.getEquipmentTypeDistribution();
    }

    /**
     * 获取教练性别分布数据
     * 返回值类型：List<CoachGenderDistributionVO>
     */
    @Override
    public List<CoachGenderDistributionVO> getCoachGenderDistribution() {
        return statisticsMapper.getCoachGenderDistribution();
    }

    /**
     * 获取教练年龄分布数据
     * 返回值类型：List<CoachAgeDistributionVO>
     */
    @Override
    public List<CoachAgeDistributionVO> getCoachAgeDistribution() {
        return statisticsMapper.getCoachAgeDistribution();
    }
}